public class ParseSink extends Sink {
public ParseSink(Sink next) { this.next = next; }
public Stack<Choicepoint> fishFor(String name, int arity, Compound term, int choice, Prolog prolog, Unifier unifier, int cutIndex, Stack<Conjunct> continuation, Stack<Choicepoint> choicepoints) {
Choicepoint choicepoint;
int height = choicepoints.height;
if(arity == 1 && name.equals("uppercase")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("65");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("66");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Compound t1 = new Compound("67");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Compound t1 = new Compound("68");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Compound t1 = new Compound("69");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Compound t1 = new Compound("70");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 6: {
Compound t1 = new Compound("71");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 7: {
Compound t1 = new Compound("72");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 8: {
Compound t1 = new Compound("73");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 9: {
Compound t1 = new Compound("74");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 10: {
Compound t1 = new Compound("75");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 11: {
Compound t1 = new Compound("76");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 12: {
Compound t1 = new Compound("77");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 13: {
Compound t1 = new Compound("78");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 14: {
Compound t1 = new Compound("79");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 15: {
Compound t1 = new Compound("80");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 16: {
Compound t1 = new Compound("81");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 17: {
Compound t1 = new Compound("82");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 18: {
Compound t1 = new Compound("83");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 19: {
Compound t1 = new Compound("84");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 20: {
Compound t1 = new Compound("85");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 21: {
Compound t1 = new Compound("86");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 22: {
Compound t1 = new Compound("87");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 23: {
Compound t1 = new Compound("88");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 24: {
Compound t1 = new Compound("89");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 25: {
Compound t1 = new Compound("90");
Compound t0 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 1 && name.equals("lowercase")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("97");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("98");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Compound t1 = new Compound("99");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Compound t1 = new Compound("100");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Compound t1 = new Compound("101");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Compound t1 = new Compound("102");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 6: {
Compound t1 = new Compound("103");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 7: {
Compound t1 = new Compound("104");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 8: {
Compound t1 = new Compound("105");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 9: {
Compound t1 = new Compound("106");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 10: {
Compound t1 = new Compound("107");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 11: {
Compound t1 = new Compound("108");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 12: {
Compound t1 = new Compound("109");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 13: {
Compound t1 = new Compound("110");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 14: {
Compound t1 = new Compound("111");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 15: {
Compound t1 = new Compound("112");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 16: {
Compound t1 = new Compound("113");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 17: {
Compound t1 = new Compound("114");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 18: {
Compound t1 = new Compound("115");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 19: {
Compound t1 = new Compound("116");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 20: {
Compound t1 = new Compound("117");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 21: {
Compound t1 = new Compound("118");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 22: {
Compound t1 = new Compound("119");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 23: {
Compound t1 = new Compound("120");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 24: {
Compound t1 = new Compound("121");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 25: {
Compound t1 = new Compound("122");
Compound t0 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 1 && name.equals("alphabetic")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Compound t0 = new Compound("alphabetic", t1);
Compound t2 = new Compound("uppercase", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t2);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Compound t0 = new Compound("alphabetic", t1);
Compound t2 = new Compound("lowercase", t1);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t2);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 1 && name.equals("digit")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("48");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("49");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Compound t1 = new Compound("50");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Compound t1 = new Compound("51");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Compound t1 = new Compound("52");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Compound t1 = new Compound("53");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 6: {
Compound t1 = new Compound("54");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 7: {
Compound t1 = new Compound("55");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 8: {
Compound t1 = new Compound("56");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 9: {
Compound t1 = new Compound("57");
Compound t0 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 1 && name.equals("alphanumeric")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Compound t0 = new Compound("alphanumeric", t1);
Compound t2 = new Compound("alphabetic", t1);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t2);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Compound t0 = new Compound("alphanumeric", t1);
Compound t2 = new Compound("digit", t1);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t2);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("lex")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("lex", t1, t4, t5);
Variable t7 = new Variable("V4");
Compound t6 = new Compound("tokenize", t2, t4, t7);
Compound t10 = new Compound("46");
Variable t11 = new Variable("V5");
Compound t9 = new Compound(".", t10, t11);
Compound t8 = new Compound("=", t7, t9);
Compound t12 = new Compound("lex", t3, t11, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t8, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("lex", t1, t2, t3);
Compound t4 = new Compound("ws", t2, t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("debug_lex")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("debug_lex", t1, t4, t5);
Variable t7 = new Variable("V4");
Compound t6 = new Compound("tokenize", t2, t4, t7);
Variable t9 = new Variable("V5");
Compound t8 = new Compound("=", t7, t9);
Compound t11 = new Compound("%% ");
Compound t10 = new Compound("write", t11);
Compound t12 = new Compound("write", t2);
Compound t13 = new Compound("nl");
Compound t16 = new Compound("46");
Variable t17 = new Variable("V6");
Compound t15 = new Compound(".", t16, t17);
Compound t14 = new Compound("=", t9, t15);
Compound t18 = new Compound("debug_lex", t3, t17, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t8, t10, t12, t13, t14, t18);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("debug_lex", t1, t2, t3);
Compound t4 = new Compound("ws", t2, t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("tokenize")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("tokenize", t1, t4, t5);
Variable t7 = new Variable("V4");
Compound t6 = new Compound("ws", t4, t7);
Variable t9 = new Variable("V5");
Compound t8 = new Compound("token", t2, t7, t9);
Variable t11 = new Variable("V6");
Compound t10 = new Compound("=", t9, t11);
Compound t12 = new Compound("!");
Compound t13 = new Compound("tokenize", t3, t11, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t8, t10, t12, t13);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("tokenize", t1, t2, t3);
Compound t4 = new Compound("ws", t2, t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("ws")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("ws", t1, t2);
Compound t5 = new Compound("32");
Variable t6 = new Variable("V2");
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Variable t8 = new Variable("V3");
Compound t7 = new Compound("=", t6, t8);
Compound t9 = new Compound("!");
Compound t10 = new Compound("ws", t8, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t7, t9, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("ws", t1, t2);
Compound t5 = new Compound("10");
Variable t6 = new Variable("V2");
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Variable t8 = new Variable("V3");
Compound t7 = new Compound("=", t6, t8);
Compound t9 = new Compound("!");
Compound t10 = new Compound("ws", t8, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t7, t9, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("ws", t1, t2);
Compound t5 = new Compound("9");
Variable t6 = new Variable("V2");
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Variable t8 = new Variable("V3");
Compound t7 = new Compound("=", t6, t8);
Compound t9 = new Compound("!");
Compound t10 = new Compound("ws", t8, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t7, t9, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("ws", t1, t2);
Compound t5 = new Compound("37");
Variable t6 = new Variable("V2");
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Variable t8 = new Variable("V3");
Compound t7 = new Compound("=", t6, t8);
Compound t9 = new Compound("!");
Compound t13 = new Compound("10");
Variable t14 = new Variable("V4");
Compound t12 = new Compound("skip_past", t13, t8, t14);
Compound t15 = new Compound("ws", t14, t2);
Compound t11 = new Compound("->", t12, t15);
Compound t17 = new Compound("10");
Compound t16 = new Compound("finish_without", t17, t8, t2);
Compound t10 = new Compound(";", t11, t16);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t7, t9, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("ws", t1, t2);
Compound t5 = new Compound("47");
Compound t7 = new Compound("42");
Variable t8 = new Variable("V2");
Compound t6 = new Compound(".", t7, t8);
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Variable t10 = new Variable("V3");
Compound t9 = new Compound("=", t8, t10);
Compound t11 = new Compound("!");
Variable t13 = new Variable("V4");
Compound t12 = new Compound("finish_multiline_comment", t10, t13);
Compound t14 = new Compound("ws", t13, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t9, t11, t12, t14);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("ws", t1, t2);
Compound t3 = new Compound("=", t1, t2);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t3);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("skip_past")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Variable t3 = new Variable("V2");
Compound t0 = new Compound("skip_past", t1, t2, t3);
Variable t6 = new Variable("V3");
Compound t5 = new Compound(".", t1, t6);
Compound t4 = new Compound("=", t2, t5);
Compound t7 = new Compound("=", t6, t3);
Compound t8 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4, t7, t8);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Variable t3 = new Variable("V2");
Compound t0 = new Compound("skip_past", t1, t2, t3);
Variable t6 = new Variable("V3");
Variable t7 = new Variable("V4");
Compound t5 = new Compound(".", t6, t7);
Compound t4 = new Compound("=", t2, t5);
Compound t8 = new Compound("skip_past", t1, t7, t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4, t8);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("finish_without")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Compound t2 = new Compound("[]");
Compound t3 = new Compound("[]");
Compound t0 = new Compound("finish_without", t1, t2, t3);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t2 = new Compound(".", t3, t4);
Compound t5 = new Compound("[]");
Compound t0 = new Compound("finish_without", t1, t2, t5);
Compound t6 = new Compound("\\=", t3, t1);
Compound t8 = new Compound("[]");
Compound t7 = new Compound("finish_without", t1, t4, t8);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t6, t7);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("finish_multiline_comment")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("finish_multiline_comment", t1, t2);
Compound t5 = new Compound("42");
Compound t7 = new Compound("47");
Variable t8 = new Variable("V2");
Compound t6 = new Compound(".", t7, t8);
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Compound t9 = new Compound("=", t8, t2);
Compound t10 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t9, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("finish_multiline_comment", t1, t2);
Compound t5 = new Compound("47");
Compound t7 = new Compound("42");
Variable t8 = new Variable("V2");
Compound t6 = new Compound(".", t7, t8);
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Variable t10 = new Variable("V3");
Compound t9 = new Compound("=", t8, t10);
Compound t11 = new Compound("!");
Variable t13 = new Variable("V4");
Compound t12 = new Compound("finish_multiline_comment", t10, t13);
Compound t14 = new Compound("finish_multiline_comment", t13, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t3, t9, t11, t12, t14);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("finish_multiline_comment", t1, t2);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t4 = new Compound(".", t5, t6);
Compound t3 = new Compound("=", t1, t4);
Compound t7 = new Compound("finish_multiline_comment", t6, t2);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t3, t7);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("token")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("(");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("40");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound(")");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("41");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Compound t1 = new Compound("[");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("91");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Compound t1 = new Compound("]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("93");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Compound t1 = new Compound("{");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("123");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Compound t1 = new Compound("}");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("125");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 6: {
Compound t1 = new Compound(",");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("44");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 7: {
Compound t1 = new Compound("|");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("124");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 8: {
Compound t1 = new Compound("!");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("token", t1, t2, t3);
Compound t6 = new Compound("33");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 9: {
Variable t2 = new Variable("V0");
Compound t1 = new Compound("opr", t2);
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t0 = new Compound("token", t1, t3, t4);
Variable t6 = new Variable("V3");
Compound t5 = new Compound("=", t3, t6);
Compound t7 = new Compound("operator", t2);
Compound t8 = new Compound("append", t2, t4, t6);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t7, t8);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 10: {
Variable t3 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t2 = new Compound(".", t3, t4);
Compound t1 = new Compound("var", t2);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t0 = new Compound("token", t1, t5, t6);
Variable t9 = new Variable("V4");
Compound t8 = new Compound(".", t3, t9);
Compound t7 = new Compound("=", t5, t8);
Variable t11 = new Variable("V5");
Compound t10 = new Compound("=", t9, t11);
Compound t13 = new Compound("uppercase", t3);
Compound t15 = new Compound("95");
Compound t14 = new Compound("=", t3, t15);
Compound t12 = new Compound(";", t13, t14);
Variable t17 = new Variable("V6");
Compound t16 = new Compound("finish_symbol", t4, t11, t17);
Compound t18 = new Compound("=", t17, t6);
Compound t19 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t7, t10, t12, t16, t18, t19);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 11: {
Variable t3 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t2 = new Compound(".", t3, t4);
Compound t1 = new Compound("idt", t2);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t0 = new Compound("token", t1, t5, t6);
Variable t9 = new Variable("V4");
Compound t8 = new Compound(".", t3, t9);
Compound t7 = new Compound("=", t5, t8);
Variable t11 = new Variable("V5");
Compound t10 = new Compound("=", t9, t11);
Compound t12 = new Compound("lowercase", t3);
Variable t14 = new Variable("V6");
Compound t13 = new Compound("finish_symbol", t4, t11, t14);
Compound t15 = new Compound("=", t14, t6);
Compound t16 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t7, t10, t12, t13, t15, t16);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 12: {
Variable t2 = new Variable("V0");
Compound t1 = new Compound("idt", t2);
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t0 = new Compound("token", t1, t3, t4);
Compound t7 = new Compound("39");
Variable t8 = new Variable("V3");
Compound t6 = new Compound(".", t7, t8);
Compound t5 = new Compound("=", t3, t6);
Variable t10 = new Variable("V4");
Compound t9 = new Compound("finish_single_quoted", t2, t8, t10);
Compound t11 = new Compound("=", t10, t4);
Compound t12 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t9, t11, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 13: {
Variable t2 = new Variable("V0");
Compound t1 = new Compound("str", t2);
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t0 = new Compound("token", t1, t3, t4);
Compound t7 = new Compound("34");
Variable t8 = new Variable("V3");
Compound t6 = new Compound(".", t7, t8);
Compound t5 = new Compound("=", t3, t6);
Variable t10 = new Variable("V4");
Compound t9 = new Compound("finish_double_quoted", t2, t8, t10);
Compound t11 = new Compound("=", t10, t4);
Compound t12 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t9, t11, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 14: {
Variable t2 = new Variable("V0");
Compound t1 = new Compound("chr", t2);
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t0 = new Compound("token", t1, t3, t4);
Compound t7 = new Compound("48");
Compound t9 = new Compound("39");
Variable t10 = new Variable("V3");
Compound t8 = new Compound(".", t9, t10);
Compound t6 = new Compound(".", t7, t8);
Compound t5 = new Compound("=", t3, t6);
Compound t15 = new Compound("92");
Variable t16 = new Variable("V4");
Compound t14 = new Compound(".", t15, t16);
Compound t13 = new Compound("=", t10, t14);
Compound t21 = new Compound("110");
Variable t22 = new Variable("V5");
Compound t20 = new Compound(".", t21, t22);
Compound t19 = new Compound("=", t16, t20);
Compound t24 = new Compound("=", t22, t4);
Compound t26 = new Compound("10");
Compound t25 = new Compound("=", t2, t26);
Compound t23 = new Compound(",", t24, t25);
Compound t18 = new Compound("->", t19, t23);
Compound t31 = new Compound("116");
Variable t32 = new Variable("V6");
Compound t30 = new Compound(".", t31, t32);
Compound t29 = new Compound("=", t16, t30);
Compound t34 = new Compound("=", t32, t4);
Compound t36 = new Compound("9");
Compound t35 = new Compound("=", t2, t36);
Compound t33 = new Compound(",", t34, t35);
Compound t28 = new Compound("->", t29, t33);
Compound t40 = new Compound("92");
Variable t41 = new Variable("V7");
Compound t39 = new Compound(".", t40, t41);
Compound t38 = new Compound("=", t16, t39);
Compound t43 = new Compound("=", t41, t4);
Compound t45 = new Compound("92");
Compound t44 = new Compound("=", t2, t45);
Compound t42 = new Compound(",", t43, t44);
Compound t37 = new Compound("->", t38, t42);
Compound t27 = new Compound(";", t28, t37);
Compound t17 = new Compound(";", t18, t27);
Compound t12 = new Compound("->", t13, t17);
Compound t47 = new Compound(".", t2, t4);
Compound t46 = new Compound("=", t10, t47);
Compound t11 = new Compound(";", t12, t46);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t11);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 15: {
Variable t3 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t2 = new Compound(".", t3, t4);
Compound t1 = new Compound("num", t2);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t0 = new Compound("token", t1, t5, t6);
Variable t9 = new Variable("V4");
Compound t8 = new Compound(".", t3, t9);
Compound t7 = new Compound("=", t5, t8);
Variable t11 = new Variable("V5");
Compound t10 = new Compound("=", t9, t11);
Compound t12 = new Compound("digit", t3);
Variable t14 = new Variable("V6");
Compound t13 = new Compound("finish_number", t4, t11, t14);
Compound t15 = new Compound("=", t14, t6);
Compound t16 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t7, t10, t12, t13, t15, t16);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("finish_symbol")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("finish_symbol", t1, t4, t5);
Variable t8 = new Variable("V4");
Compound t7 = new Compound(".", t2, t8);
Compound t6 = new Compound("=", t4, t7);
Variable t10 = new Variable("V5");
Compound t9 = new Compound("=", t8, t10);
Compound t12 = new Compound("alphanumeric", t2);
Compound t14 = new Compound("95");
Compound t13 = new Compound("=", t2, t14);
Compound t11 = new Compound(";", t12, t13);
Compound t15 = new Compound("finish_symbol", t3, t10, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t9, t11, t15);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("finish_symbol", t1, t2, t3);
Compound t4 = new Compound("=", t2, t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("finish_number")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("finish_number", t1, t4, t5);
Variable t8 = new Variable("V4");
Compound t7 = new Compound(".", t2, t8);
Compound t6 = new Compound("=", t4, t7);
Variable t10 = new Variable("V5");
Compound t9 = new Compound("=", t8, t10);
Compound t11 = new Compound("digit", t2);
Compound t12 = new Compound("finish_number", t3, t10, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t9, t11, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("finish_number", t1, t2, t3);
Compound t4 = new Compound("=", t2, t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("finish_single_quoted")) {
switch(choice) {
case 0: {
Compound t2 = new Compound("39");
Variable t3 = new Variable("V0");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V1");
Variable t5 = new Variable("V2");
Compound t0 = new Compound("finish_single_quoted", t1, t4, t5);
Compound t8 = new Compound("39");
Compound t10 = new Compound("39");
Variable t11 = new Variable("V3");
Compound t9 = new Compound(".", t10, t11);
Compound t7 = new Compound(".", t8, t9);
Compound t6 = new Compound("=", t4, t7);
Compound t12 = new Compound("finish_single_quoted", t3, t11, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("finish_single_quoted", t1, t4, t5);
Variable t8 = new Variable("V4");
Compound t7 = new Compound(".", t2, t8);
Compound t6 = new Compound("=", t4, t7);
Variable t10 = new Variable("V5");
Compound t9 = new Compound("=", t8, t10);
Compound t12 = new Compound("39");
Compound t11 = new Compound("\\=", t2, t12);
Compound t13 = new Compound("finish_single_quoted", t3, t10, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t9, t11, t13);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("finish_single_quoted", t1, t2, t3);
Compound t6 = new Compound("39");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("finish_double_quoted")) {
switch(choice) {
case 0: {
Compound t2 = new Compound("92");
Variable t3 = new Variable("V0");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V1");
Variable t5 = new Variable("V2");
Compound t0 = new Compound("finish_double_quoted", t1, t4, t5);
Compound t8 = new Compound("92");
Compound t10 = new Compound("92");
Variable t11 = new Variable("V3");
Compound t9 = new Compound(".", t10, t11);
Compound t7 = new Compound(".", t8, t9);
Compound t6 = new Compound("=", t4, t7);
Compound t12 = new Compound("finish_double_quoted", t3, t11, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t2 = new Compound("34");
Variable t3 = new Variable("V0");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V1");
Variable t5 = new Variable("V2");
Compound t0 = new Compound("finish_double_quoted", t1, t4, t5);
Compound t8 = new Compound("92");
Compound t10 = new Compound("34");
Variable t11 = new Variable("V3");
Compound t9 = new Compound(".", t10, t11);
Compound t7 = new Compound(".", t8, t9);
Compound t6 = new Compound("=", t4, t7);
Compound t12 = new Compound("finish_double_quoted", t3, t11, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("finish_double_quoted", t1, t4, t5);
Variable t8 = new Variable("V4");
Compound t7 = new Compound(".", t2, t8);
Compound t6 = new Compound("=", t4, t7);
Variable t10 = new Variable("V5");
Compound t9 = new Compound("=", t8, t10);
Compound t12 = new Compound("34");
Compound t11 = new Compound("\\=", t2, t12);
Compound t13 = new Compound("finish_double_quoted", t3, t10, t5);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t9, t11, t13);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("finish_double_quoted", t1, t2, t3);
Compound t6 = new Compound("34");
Compound t5 = new Compound(".", t6, t3);
Compound t4 = new Compound("=", t2, t5);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("optable")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("optable", t1, t2);
Variable t5 = new Variable("V2");
Variable t7 = new Variable("V3");
Variable t8 = new Variable("V4");
Compound t6 = new Compound(",", t7, t8);
Compound t4 = new Compound(",", t5, t6);
Compound t10 = new Compound("operator", t5, t7, t8);
Compound t11 = new Compound("=<", t5, t1);
Compound t9 = new Compound(",", t10, t11);
Variable t12 = new Variable("V5");
Compound t3 = new Compound("findall", t4, t9, t12);
Compound t14 = new Compound("level");
Compound t13 = new Compound("sort", t14, t12, t2);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t3, t13);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("level")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t3 = new Compound(",", t4, t4);
Compound t1 = new Compound(",", t2, t3);
Compound t0 = new Compound("level", t1, t2);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 1 && name.equals("assert_operator")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Compound t0 = new Compound("assert_operator", t1);
Compound t3 = new Compound("operator", t1);
Compound t2 = new Compound("assertz", t3);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t2);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 0 && name.equals("redefine_operators")) {
switch(choice) {
case 0: {
Compound t0 = new Compound("redefine_operators");
Variable t3 = new Variable("V0");
Compound t2 = new Compound("operator", t3);
Compound t1 = new Compound("retractall", t2);
Compound t5 = new Compound("1200");
Variable t6 = new Variable("V1");
Compound t4 = new Compound("optable", t5, t6);
Variable t8 = new Variable("V2");
Compound t11 = new Compound(",", t3, t8);
Compound t10 = new Compound(",", t3, t11);
Compound t9 = new Compound("member", t10, t6);
Variable t12 = new Variable("V3");
Compound t7 = new Compound("findall", t8, t9, t12);
Compound t14 = new Compound("length");
Variable t15 = new Variable("V4");
Compound t13 = new Compound("sort", t14, t12, t15);
Compound t16 = new Compound("!");
Compound t18 = new Compound("assert_operator");
Compound t17 = new Compound("maplist", t18, t15);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t1, t4, t7, t13, t16, t17);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 4 && name.equals("op_directive")) {
switch(choice) {
case 0: {
Compound t2 = new Compound(":-");
Compound t5 = new Compound("op");
Variable t8 = new Variable("V0");
Compound t9 = new Compound("[]");
Compound t7 = new Compound("compound", t8, t9);
Variable t12 = new Variable("V1");
Compound t13 = new Compound("[]");
Compound t11 = new Compound("compound", t12, t13);
Variable t16 = new Variable("V2");
Compound t17 = new Compound("[]");
Compound t15 = new Compound("compound", t16, t17);
Compound t18 = new Compound("[]");
Compound t14 = new Compound(".", t15, t18);
Compound t10 = new Compound(".", t11, t14);
Compound t6 = new Compound(".", t7, t10);
Compound t4 = new Compound("compound", t5, t6);
Compound t19 = new Compound("[]");
Compound t3 = new Compound(".", t4, t19);
Compound t1 = new Compound("compound", t2, t3);
Variable t20 = new Variable("V3");
Variable t21 = new Variable("V4");
Compound t0 = new Compound("op_directive", t1, t20, t12, t21);
Compound t22 = new Compound("atom_codes", t16, t21);
Compound t23 = new Compound("atom_number", t8, t20);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t22, t23);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 4 && name.equals("term")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("top");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t0 = new Compound("term", t1, t2, t3, t4);
Variable t6 = new Variable("V3");
Compound t5 = new Compound("=", t3, t6);
Compound t7 = new Compound("!");
Compound t9 = new Compound("1200");
Compound t8 = new Compound("term", t9, t2, t6, t4);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t7, t8);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Variable t3 = new Variable("V2");
Variable t4 = new Variable("V3");
Compound t0 = new Compound("term", t1, t2, t3, t4);
Variable t6 = new Variable("V4");
Variable t7 = new Variable("V5");
Compound t5 = new Compound("glom", t6, t3, t7);
Compound t8 = new Compound("=", t7, t4);
Variable t10 = new Variable("V6");
Compound t9 = new Compound("optable", t1, t10);
Compound t11 = new Compound("tangle", t6, t10, t2);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t5, t8, t9, t11);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("glom")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("[]");
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t0 = new Compound("glom", t1, t2, t3);
Compound t4 = new Compound("=", t2, t3);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Compound t4 = new Compound("44");
Compound t5 = new Compound("[]");
Compound t3 = new Compound(".", t4, t5);
Compound t2 = new Compound("operator", t3);
Variable t6 = new Variable("V0");
Compound t1 = new Compound(".", t2, t6);
Variable t7 = new Variable("V1");
Variable t8 = new Variable("V2");
Compound t0 = new Compound("glom", t1, t7, t8);
Compound t11 = new Compound(",");
Variable t12 = new Variable("V3");
Compound t10 = new Compound(".", t11, t12);
Compound t9 = new Compound("=", t7, t10);
Compound t13 = new Compound("glom", t6, t12, t8);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t9, t13);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t3 = new Variable("V0");
Compound t2 = new Compound("operator", t3);
Variable t4 = new Variable("V1");
Compound t1 = new Compound(".", t2, t4);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t0 = new Compound("glom", t1, t5, t6);
Compound t9 = new Compound("opr", t3);
Variable t10 = new Variable("V4");
Compound t8 = new Compound(".", t9, t10);
Compound t7 = new Compound("=", t5, t8);
Compound t11 = new Compound("glom", t4, t10, t6);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t7, t11);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Variable t3 = new Variable("V0");
Compound t2 = new Compound("term", t3);
Variable t4 = new Variable("V1");
Compound t1 = new Compound(".", t2, t4);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t0 = new Compound("glom", t1, t5, t6);
Variable t8 = new Variable("V4");
Compound t7 = new Compound("one_term", t3, t5, t8);
Compound t9 = new Compound("glom", t4, t8, t6);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t7, t9);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Variable t3 = new Variable("V0");
Compound t2 = new Compound("term", t3);
Variable t4 = new Variable("V1");
Compound t1 = new Compound(".", t2, t4);
Variable t5 = new Variable("V2");
Variable t6 = new Variable("V3");
Compound t0 = new Compound("glom", t1, t5, t6);
Compound t9 = new Compound("(");
Variable t10 = new Variable("V4");
Compound t8 = new Compound(".", t9, t10);
Compound t7 = new Compound("=", t5, t8);
Compound t12 = new Compound("top");
Variable t13 = new Variable("V5");
Compound t11 = new Compound("term", t12, t3, t10, t13);
Compound t16 = new Compound(")");
Variable t17 = new Variable("V6");
Compound t15 = new Compound(".", t16, t17);
Compound t14 = new Compound("=", t13, t15);
Compound t18 = new Compound("glom", t4, t17, t6);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t7, t11, t14, t18);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("tangle")) {
switch(choice) {
case 0: {
Variable t3 = new Variable("V0");
Compound t2 = new Compound("term", t3);
Compound t4 = new Compound("[]");
Compound t1 = new Compound(".", t2, t4);
Variable t5 = new Variable("V1");
Compound t0 = new Compound("tangle", t1, t5, t3);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t6 = new Compound("xfx");
Variable t7 = new Variable("V2");
Compound t5 = new Compound(",", t6, t7);
Compound t3 = new Compound(",", t4, t5);
Variable t8 = new Variable("V3");
Compound t2 = new Compound(".", t3, t8);
Variable t10 = new Variable("V4");
Variable t12 = new Variable("V5");
Variable t14 = new Variable("V6");
Compound t15 = new Compound("[]");
Compound t13 = new Compound(".", t14, t15);
Compound t11 = new Compound(".", t12, t13);
Compound t9 = new Compound("compound", t10, t11);
Compound t0 = new Compound("tangle", t1, t2, t9);
Compound t17 = new Compound("operator", t7);
Variable t19 = new Variable("V7");
Variable t20 = new Variable("V8");
Compound t18 = new Compound("-", t19, t20);
Compound t16 = new Compound("split", t1, t17, t18);
Compound t21 = new Compound("tangle", t19, t8, t12);
Compound t22 = new Compound("tangle", t20, t8, t14);
Compound t23 = new Compound("atom_codes", t10, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t16, t21, t22, t23);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t1 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t6 = new Compound("xfy");
Variable t7 = new Variable("V2");
Compound t5 = new Compound(",", t6, t7);
Compound t3 = new Compound(",", t4, t5);
Variable t8 = new Variable("V3");
Compound t2 = new Compound(".", t3, t8);
Variable t10 = new Variable("V4");
Variable t12 = new Variable("V5");
Variable t14 = new Variable("V6");
Compound t15 = new Compound("[]");
Compound t13 = new Compound(".", t14, t15);
Compound t11 = new Compound(".", t12, t13);
Compound t9 = new Compound("compound", t10, t11);
Compound t0 = new Compound("tangle", t1, t2, t9);
Compound t17 = new Compound("operator", t7);
Variable t19 = new Variable("V7");
Variable t20 = new Variable("V8");
Compound t18 = new Compound("-", t19, t20);
Compound t16 = new Compound("split", t1, t17, t18);
Compound t21 = new Compound("tangle", t19, t8, t12);
Compound t26 = new Compound("xfy");
Compound t25 = new Compound(",", t26, t7);
Compound t24 = new Compound(",", t4, t25);
Compound t23 = new Compound(".", t24, t8);
Compound t22 = new Compound("tangle", t20, t23, t14);
Compound t27 = new Compound("atom_codes", t10, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t16, t21, t22, t27);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Variable t1 = new Variable("V0");
Variable t4 = new Variable("V1");
Compound t6 = new Compound("yfx");
Variable t7 = new Variable("V2");
Compound t5 = new Compound(",", t6, t7);
Compound t3 = new Compound(",", t4, t5);
Variable t8 = new Variable("V3");
Compound t2 = new Compound(".", t3, t8);
Variable t10 = new Variable("V4");
Variable t12 = new Variable("V5");
Variable t14 = new Variable("V6");
Compound t15 = new Compound("[]");
Compound t13 = new Compound(".", t14, t15);
Compound t11 = new Compound(".", t12, t13);
Compound t9 = new Compound("compound", t10, t11);
Compound t0 = new Compound("tangle", t1, t2, t9);
Compound t17 = new Compound("operator", t7);
Variable t19 = new Variable("V7");
Variable t20 = new Variable("V8");
Compound t18 = new Compound("-", t19, t20);
Compound t16 = new Compound("split", t1, t17, t18);
Compound t25 = new Compound("yfx");
Compound t24 = new Compound(",", t25, t7);
Compound t23 = new Compound(",", t4, t24);
Compound t22 = new Compound(".", t23, t8);
Compound t21 = new Compound("tangle", t19, t22, t12);
Compound t26 = new Compound("tangle", t20, t8, t14);
Compound t27 = new Compound("atom_codes", t10, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t16, t21, t26, t27);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Variable t3 = new Variable("V0");
Compound t2 = new Compound("operator", t3);
Variable t4 = new Variable("V1");
Compound t1 = new Compound(".", t2, t4);
Variable t7 = new Variable("V2");
Compound t9 = new Compound("fx");
Compound t8 = new Compound(",", t9, t3);
Compound t6 = new Compound(",", t7, t8);
Variable t10 = new Variable("V3");
Compound t5 = new Compound(".", t6, t10);
Variable t12 = new Variable("V4");
Variable t14 = new Variable("V5");
Compound t15 = new Compound("[]");
Compound t13 = new Compound(".", t14, t15);
Compound t11 = new Compound("compound", t12, t13);
Compound t0 = new Compound("tangle", t1, t5, t11);
Compound t16 = new Compound("tangle", t4, t10, t14);
Compound t17 = new Compound("atom_codes", t12, t3);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t16, t17);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Variable t3 = new Variable("V0");
Compound t2 = new Compound("operator", t3);
Variable t4 = new Variable("V1");
Compound t1 = new Compound(".", t2, t4);
Variable t7 = new Variable("V2");
Compound t9 = new Compound("fy");
Compound t8 = new Compound(",", t9, t3);
Compound t6 = new Compound(",", t7, t8);
Variable t10 = new Variable("V3");
Compound t5 = new Compound(".", t6, t10);
Variable t12 = new Variable("V4");
Variable t14 = new Variable("V5");
Compound t15 = new Compound("[]");
Compound t13 = new Compound(".", t14, t15);
Compound t11 = new Compound("compound", t12, t13);
Compound t0 = new Compound("tangle", t1, t5, t11);
Compound t20 = new Compound("fy");
Compound t19 = new Compound(",", t20, t3);
Compound t18 = new Compound(",", t7, t19);
Compound t17 = new Compound(".", t18, t10);
Compound t16 = new Compound("tangle", t4, t17, t14);
Compound t21 = new Compound("atom_codes", t12, t3);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t16, t21);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 6: {
Variable t1 = new Variable("V0");
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t2 = new Compound(".", t3, t4);
Variable t5 = new Variable("V3");
Compound t0 = new Compound("tangle", t1, t2, t5);
Compound t8 = new Compound("term", t3);
Compound t9 = new Compound("[]");
Compound t7 = new Compound(".", t8, t9);
Compound t6 = new Compound("\\=", t1, t7);
Compound t10 = new Compound("tangle", t1, t4, t5);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t6, t10);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("one_term")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Compound t1 = new Compound("variable", t2);
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t3, t4);
Variable t8 = new Variable("V3");
Compound t7 = new Compound("var", t8);
Variable t9 = new Variable("V4");
Compound t6 = new Compound(".", t7, t9);
Compound t5 = new Compound("=", t3, t6);
Variable t11 = new Variable("V5");
Compound t10 = new Compound("=", t9, t11);
Compound t12 = new Compound("atom_codes", t2, t8);
Compound t13 = new Compound("=", t11, t4);
Compound t14 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t10, t12, t13, t14);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("one_term", t1, t4, t5);
Variable t9 = new Variable("V4");
Compound t8 = new Compound("idt", t9);
Variable t10 = new Variable("V5");
Compound t7 = new Compound(".", t8, t10);
Compound t6 = new Compound("=", t4, t7);
Compound t13 = new Compound("(");
Variable t14 = new Variable("V6");
Compound t12 = new Compound(".", t13, t14);
Compound t11 = new Compound("=", t10, t12);
Variable t16 = new Variable("V7");
Compound t15 = new Compound("tuple_body", t3, t14, t16);
Compound t19 = new Compound(")");
Variable t20 = new Variable("V8");
Compound t18 = new Compound(".", t19, t20);
Compound t17 = new Compound("=", t16, t18);
Compound t21 = new Compound("=", t20, t5);
Compound t22 = new Compound("atom_codes", t2, t9);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t11, t15, t17, t21, t22);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t2 = new Variable("V0");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V1");
Variable t5 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t4, t5);
Variable t9 = new Variable("V3");
Compound t8 = new Compound("idt", t9);
Variable t10 = new Variable("V4");
Compound t7 = new Compound(".", t8, t10);
Compound t6 = new Compound("=", t4, t7);
Compound t11 = new Compound("=", t10, t5);
Compound t12 = new Compound("atom_codes", t2, t9);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t11, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 3: {
Compound t2 = new Compound(",");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V0");
Variable t5 = new Variable("V1");
Compound t0 = new Compound("one_term", t1, t4, t5);
Compound t8 = new Compound(",");
Compound t7 = new Compound(".", t8, t5);
Compound t6 = new Compound("=", t4, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 4: {
Compound t2 = new Compound("|");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V0");
Variable t5 = new Variable("V1");
Compound t0 = new Compound("one_term", t1, t4, t5);
Compound t8 = new Compound("|");
Compound t7 = new Compound(".", t8, t5);
Compound t6 = new Compound("=", t4, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 5: {
Compound t2 = new Compound("!");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V0");
Variable t5 = new Variable("V1");
Compound t0 = new Compound("one_term", t1, t4, t5);
Compound t8 = new Compound("!");
Compound t7 = new Compound(".", t8, t5);
Compound t6 = new Compound("=", t4, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 6: {
Compound t2 = new Compound("[]");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V0");
Variable t5 = new Variable("V1");
Compound t0 = new Compound("one_term", t1, t4, t5);
Compound t8 = new Compound("[");
Variable t9 = new Variable("V2");
Compound t7 = new Compound(".", t8, t9);
Compound t6 = new Compound("=", t4, t7);
Compound t12 = new Compound("]");
Compound t11 = new Compound(".", t12, t5);
Compound t10 = new Compound("=", t9, t11);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 7: {
Variable t2 = new Variable("V0");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V1");
Variable t5 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t4, t5);
Compound t8 = new Compound("chr", t2);
Compound t7 = new Compound(".", t8, t5);
Compound t6 = new Compound("=", t4, t7);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 8: {
Variable t2 = new Variable("V0");
Compound t3 = new Compound("[]");
Compound t1 = new Compound("compound", t2, t3);
Variable t4 = new Variable("V1");
Variable t5 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t4, t5);
Variable t9 = new Variable("V3");
Compound t8 = new Compound("num", t9);
Variable t10 = new Variable("V4");
Compound t7 = new Compound(".", t8, t10);
Compound t6 = new Compound("=", t4, t7);
Compound t11 = new Compound("=", t10, t5);
Compound t12 = new Compound("atom_codes", t2, t9);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t6, t11, t12);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 9: {
Compound t2 = new Compound("{}");
Variable t4 = new Variable("V0");
Compound t5 = new Compound("[]");
Compound t3 = new Compound(".", t4, t5);
Compound t1 = new Compound("compound", t2, t3);
Variable t6 = new Variable("V1");
Variable t7 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t6, t7);
Compound t10 = new Compound("{");
Variable t11 = new Variable("V3");
Compound t9 = new Compound(".", t10, t11);
Compound t8 = new Compound("=", t6, t9);
Compound t13 = new Compound("top");
Variable t14 = new Variable("V4");
Compound t12 = new Compound("term", t13, t4, t11, t14);
Compound t17 = new Compound("}");
Compound t16 = new Compound(".", t17, t7);
Compound t15 = new Compound("=", t14, t16);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t8, t12, t15);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 10: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Variable t3 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t2, t3);
Compound t6 = new Compound("[");
Variable t7 = new Variable("V3");
Compound t5 = new Compound(".", t6, t7);
Compound t4 = new Compound("=", t2, t5);
Variable t9 = new Variable("V4");
Variable t10 = new Variable("V5");
Compound t8 = new Compound("list_body", t9, t7, t10);
Compound t13 = new Compound("]");
Variable t14 = new Variable("V6");
Compound t12 = new Compound(".", t13, t14);
Compound t11 = new Compound("=", t10, t12);
Variable t16 = new Variable("V7");
Compound t15 = new Compound("=", t14, t16);
Compound t17 = new Compound("list_ast", t9, t1);
Compound t18 = new Compound("=", t16, t3);
Compound t19 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t4, t8, t11, t15, t17, t18, t19);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 11: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Variable t3 = new Variable("V2");
Compound t0 = new Compound("one_term", t1, t2, t3);
Variable t7 = new Variable("V3");
Compound t6 = new Compound("str", t7);
Variable t8 = new Variable("V4");
Compound t5 = new Compound(".", t6, t8);
Compound t4 = new Compound("=", t2, t5);
Variable t10 = new Variable("V5");
Compound t9 = new Compound("=", t8, t10);
Compound t11 = new Compound("string_ast", t7, t1);
Compound t12 = new Compound("=", t10, t3);
Compound t13 = new Compound("!");
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4, t9, t11, t12, t13);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("tuple_body")) {
switch(choice) {
case 0: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Variable t4 = new Variable("V2");
Variable t5 = new Variable("V3");
Compound t0 = new Compound("tuple_body", t1, t4, t5);
Compound t7 = new Compound("top");
Variable t8 = new Variable("V4");
Compound t6 = new Compound("term", t7, t2, t4, t8);
Compound t13 = new Compound(",");
Variable t14 = new Variable("V5");
Compound t12 = new Compound(".", t13, t14);
Compound t11 = new Compound("=", t8, t12);
Compound t15 = new Compound("tuple_body", t3, t14, t5);
Compound t10 = new Compound(",", t11, t15);
Compound t17 = new Compound("=", t8, t5);
Compound t19 = new Compound("[]");
Compound t18 = new Compound("=", t3, t19);
Compound t16 = new Compound(",", t17, t18);
Compound t9 = new Compound(";", t10, t16);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t6, t9);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 3 && name.equals("list_body")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Variable t3 = new Variable("V2");
Compound t0 = new Compound("list_body", t1, t2, t3);
Compound t5 = new Compound("top");
Variable t6 = new Variable("V3");
Variable t7 = new Variable("V4");
Compound t4 = new Compound("term", t5, t6, t2, t7);
Compound t12 = new Compound(",");
Variable t13 = new Variable("V5");
Compound t11 = new Compound(".", t12, t13);
Compound t10 = new Compound("=", t7, t11);
Variable t16 = new Variable("V6");
Variable t17 = new Variable("V7");
Compound t15 = new Compound("list_body", t16, t13, t17);
Compound t19 = new Compound("=", t17, t3);
Compound t21 = new Compound(".", t6, t16);
Compound t20 = new Compound("=", t1, t21);
Compound t18 = new Compound(",", t19, t20);
Compound t14 = new Compound(",", t15, t18);
Compound t9 = new Compound(",", t10, t14);
Compound t26 = new Compound("|");
Variable t27 = new Variable("V8");
Compound t25 = new Compound(".", t26, t27);
Compound t24 = new Compound("=", t7, t25);
Compound t30 = new Compound("top");
Variable t31 = new Variable("V9");
Variable t32 = new Variable("V10");
Compound t29 = new Compound("term", t30, t31, t27, t32);
Compound t34 = new Compound("=", t32, t3);
Compound t36 = new Compound(".", t6, t31);
Compound t35 = new Compound("=", t1, t36);
Compound t33 = new Compound(",", t34, t35);
Compound t28 = new Compound(",", t29, t33);
Compound t23 = new Compound(",", t24, t28);
Compound t38 = new Compound("=", t7, t3);
Compound t41 = new Compound("[]");
Compound t40 = new Compound(".", t6, t41);
Compound t39 = new Compound("=", t1, t40);
Compound t37 = new Compound(",", t38, t39);
Compound t22 = new Compound(";", t23, t37);
Compound t8 = new Compound(";", t9, t22);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t4, t8);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("list_ast")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("[]");
Compound t3 = new Compound("[]");
Compound t4 = new Compound("[]");
Compound t2 = new Compound("compound", t3, t4);
Compound t0 = new Compound("list_ast", t1, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Compound t5 = new Compound(".");
Variable t8 = new Variable("V2");
Compound t9 = new Compound("[]");
Compound t7 = new Compound(".", t8, t9);
Compound t6 = new Compound(".", t2, t7);
Compound t4 = new Compound("compound", t5, t6);
Compound t0 = new Compound("list_ast", t1, t4);
Compound t10 = new Compound("list_ast", t3, t8);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t10);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 2: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Compound t5 = new Compound(".");
Compound t8 = new Compound("[]");
Compound t7 = new Compound(".", t3, t8);
Compound t6 = new Compound(".", t2, t7);
Compound t4 = new Compound("compound", t5, t6);
Compound t0 = new Compound("list_ast", t1, t4);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("string_ast")) {
switch(choice) {
case 0: {
Compound t1 = new Compound("[]");
Compound t3 = new Compound("[]");
Compound t4 = new Compound("[]");
Compound t2 = new Compound("compound", t3, t4);
Compound t0 = new Compound("string_ast", t1, t2);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t2 = new Variable("V0");
Variable t3 = new Variable("V1");
Compound t1 = new Compound(".", t2, t3);
Compound t5 = new Compound(".");
Compound t8 = new Compound("[]");
Compound t7 = new Compound("compound", t2, t8);
Variable t10 = new Variable("V2");
Compound t11 = new Compound("[]");
Compound t9 = new Compound(".", t10, t11);
Compound t6 = new Compound(".", t7, t9);
Compound t4 = new Compound("compound", t5, t6);
Compound t0 = new Compound("string_ast", t1, t4);
Compound t12 = new Compound("string_ast", t3, t10);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t12);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("parse_string")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("parse_string", t1, t2);
Variable t4 = new Variable("V2");
Compound t6 = new Compound("46");
Compound t7 = new Compound("[]");
Compound t5 = new Compound(".", t6, t7);
Compound t3 = new Compound("tokenize", t4, t1, t5);
Compound t9 = new Compound("top");
Compound t10 = new Compound("[]");
Compound t8 = new Compound("term", t9, t2, t4, t10);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t3, t8);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("parse_file")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t2 = new Variable("V1");
Compound t0 = new Compound("parse_file", t1, t2);
Variable t4 = new Variable("V2");
Compound t3 = new Compound("get_file_contents", t1, t4);
Compound t5 = new Compound("parse_contents", t4, t2);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t3, t5);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
if(arity == 2 && name.equals("parse_contents")) {
switch(choice) {
case 0: {
Variable t1 = new Variable("V0");
Variable t3 = new Variable("V1");
Variable t4 = new Variable("V2");
Compound t2 = new Compound(".", t3, t4);
Compound t0 = new Compound("parse_contents", t1, t2);
Variable t6 = new Variable("V3");
Compound t8 = new Compound("46");
Variable t9 = new Variable("V4");
Compound t7 = new Compound(".", t8, t9);
Compound t5 = new Compound("tokenize", t6, t1, t7);
Compound t11 = new Compound("top");
Compound t12 = new Compound("[]");
Compound t10 = new Compound("term", t11, t3, t6, t12);
Compound t13 = new Compound("!");
Variable t17 = new Variable("V5");
Variable t18 = new Variable("V6");
Variable t19 = new Variable("V7");
Compound t16 = new Compound("op_directive", t3, t17, t18, t19);
Compound t22 = new Compound("operator", t17, t18, t19);
Compound t23 = new Compound("true");
Compound t21 = new Compound("->", t22, t23);
Compound t26 = new Compound("operator", t17, t18, t19);
Compound t25 = new Compound("assert", t26);
Compound t27 = new Compound("redefine_operators");
Compound t24 = new Compound(",", t25, t27);
Compound t20 = new Compound(";", t21, t24);
Compound t15 = new Compound("->", t16, t20);
Compound t28 = new Compound("true");
Compound t14 = new Compound(";", t15, t28);
Compound t29 = new Compound("parse_contents", t9, t4);
if(unifier.unify(t0,term)) {
choicepoint = new Choicepoint(continuation,height, t5, t10, t13, t14, t29);
choicepoint.bindings = unifier.bound;
return new Stack<Choicepoint>(choicepoint,choicepoints);
}
break;
}
case 1: {
Variable t1 = new Variable("V0");
Compound t2 = new Compound("[]");
Compound t0 = new Compound("parse_contents", t1, t2);
Compound t4 = new Compound("[]");
Compound t3 = new Compound("ws", t1, t4);
if(unifier.unify(t0,term)) {
choicepoints.head.query = choicepoints.head.query.tail;
choicepoints.head.addQuerents(height-1, t3);
choicepoints.head.addBindings(unifier.bound);
return choicepoints;
}
break;
}
default: choicepoints.head.dead = true;
}
return choicepoints;
}
return next.fishFor(name,arity,term,choice,prolog,unifier,cutIndex,continuation,choicepoints);
}
}
